Set background upon state changes. (#301651, Billy Biggs)
authorMatthias Clasen <mclasen@redhat.com>
Fri, 29 Apr 2005 18:17:10 +0000 (18:17 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 29 Apr 2005 18:17:10 +0000 (18:17 +0000)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
background upon state changes.  (#301651, Billy Biggs)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtktreeview.c

index 3db85f626c2f9199d1e2bf0ac4817ed61e3dca30..80c49dfeb344fd9f5d3f993a5c9e158cae2a49aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
+       background upon state changes.  (#301651, Billy Biggs)
+       
        * configure.in: Check for nm.
 
        * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, 
index 3db85f626c2f9199d1e2bf0ac4817ed61e3dca30..80c49dfeb344fd9f5d3f993a5c9e158cae2a49aa 100644 (file)
@@ -1,5 +1,8 @@
 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
+       background upon state changes.  (#301651, Billy Biggs)
+       
        * configure.in: Check for nm.
 
        * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, 
index 3db85f626c2f9199d1e2bf0ac4817ed61e3dca30..80c49dfeb344fd9f5d3f993a5c9e158cae2a49aa 100644 (file)
@@ -1,5 +1,8 @@
 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
+       background upon state changes.  (#301651, Billy Biggs)
+       
        * configure.in: Check for nm.
 
        * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, 
index 865cf48433d71c0d31da37a0530e07a14ab9c402..2e60e1395e3ecb97ce96f3008c1b388f9b9b1706 100644 (file)
@@ -193,6 +193,8 @@ static void     gtk_tree_view_style_set            (GtkWidget        *widget,
                                                    GtkStyle         *previous_style);
 static void     gtk_tree_view_grab_notify          (GtkWidget        *widget,
                                                    gboolean          was_grabbed);
+static void     gtk_tree_view_state_changed        (GtkWidget        *widget,
+                                                   GtkStateType      previous_state);
 
 /* container signals */
 static void     gtk_tree_view_remove               (GtkContainer     *container,
@@ -535,6 +537,7 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
   widget_class->grab_focus = gtk_tree_view_grab_focus;
   widget_class->style_set = gtk_tree_view_style_set;
   widget_class->grab_notify = gtk_tree_view_grab_notify;
+  widget_class->state_changed = gtk_tree_view_state_changed;
 
   /* GtkContainer signals */
   container_class->remove = gtk_tree_view_remove;
@@ -13060,5 +13063,20 @@ gtk_tree_view_grab_notify (GtkWidget *widget,
     tree_view->priv->pressed_button = -1;
 }
 
+static void
+gtk_tree_view_state_changed (GtkWidget      *widget,
+                            GtkStateType    previous_state)
+{
+  GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
+
+  if (GTK_WIDGET_REALIZED (widget))
+    {
+      gdk_window_set_background (widget->window, &widget->style->base[widget->state]);
+      gdk_window_set_background (tree_view->priv->bin_window, &widget->style->base[widget->state]);
+    }
+
+  gtk_widget_queue_draw (widget);
+}
+
 #define __GTK_TREE_VIEW_C__
 #include "gtkaliasdef.c"